package com.fjwt.gz.service.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.fjwt.gz.db.dto.QrcodeRecordDTO;
import com.fjwt.gz.db.entity.QrcodeRecordEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fjwt.gz.db.vo.QrcodeRecordVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 派券活动发放二维码生成历史记录表(目前仅针对派券奖品分配) Mapper 接口
 * </p>
 *
 * @author shiyonghao
 * @since 2025-04-09
 */
public interface QrcodeRecordMapper extends BaseMapper<QrcodeRecordEntity> {

    IPage<QrcodeRecordVO> getAppQrcodeRecordList(IPage iPage, @Param("qrcodeRecordDTO") QrcodeRecordDTO qrcodeRecordDTO);

    /**
     * 获取机构下生成的领券二维码记录
     * @param iPage
     * @param activityId 活动id
     * @return
     */
    IPage<QrcodeRecordVO> getQrcodeRecordList(IPage iPage, @Param("activityId") Long activityId, @Param("activityNo") String activityNo,
                                              @Param("activityName") String activityName, @Param("createdAt") String createdAt);

    /**
     * 获取活动所有领券二维码
     * @param activityId
     * @param activityNo
     * @param activityName
     * @param createdAt
     * @return
     */
    List<QrcodeRecordVO> getQrcodeRecordList(@Param("activityId") Long activityId, @Param("activityNo") String activityNo, @Param("activityName") String activityName, @Param("createdAt") String createdAt);

    /**
     * 获取详情
     * @param qrcodeRecordId 二维码记录id
     * @return
     */
    QrcodeRecordVO getRecordDetail(Long qrcodeRecordId);
}
